'use strict';
/*
 *@description: 添加列表对象
 *@author: wudandan
 *@date: 2020-10-12 15:31:58
*/
import YJTObject from 'yj-object';

class tagsData extends YJTObject {
  constructor () {
    const Fields = {
      // 标签值code
      enumCode: '',
      // 标签值名称
      enumName: '',
      // 标签id
      tagId: '',
      // 标签名称
      tagName: ''
    };
    super(Fields);
  }

  get enumCode () {
    return this._enumCode;
  }

  set enumCode (val) {
    this._enumCode = val;
  }

  get enumName () {
    return this._enumName;
  }

  set enumName (val) {
    this._enumName = val;
  }

  get tagId () {
    return this._tagId;
  }

  set tagId (val) {
    this._tagId = val;
  }

  get tagName () {
    return this._tagName;
  }

  set tagName (val) {
    this._tagName = val;
  }
}
class contentData extends YJTObject {
  constructor () {
    const Fields = {
      // 资源id
      id: '',
      // 资源标题
      title: '',
      // 路径
      urlPath: '',
      // 大小
      size: '',
      // pc主文件的扩展名
      pcExtension: '',
      // 移动端主文件的扩展名
      mobileExtension: '',
      // 仓库编码
      repository: '',
      // 资源格式
      format: '',
      // 描述
      resDescribe: '',
      // 创建人
      createId: '',
      // 创建时间
      createTime: '',
      // 创建人姓名
      createName: '',
      // 格式图标地址
      formatIconUrl: '',
      // 资源标签集合
      tags: {
        type: Array,
        generics: tagsData
      },
      // 是否新上线
      newOnline: {
        type: Boolean,
        default: false
      },
      // 是否推荐
      hot: {
        type: Boolean,
        default: false
      },
      initHotNum: {
        type: Number,
        default: 0
      },
      totalHotNum: {
        type: Number,
        default: 0
      },
      providerId: '',
      providerName: '',
      regionId: '',
      // 更新人账号
      tagValues: {
        type: Array,
        default: []
      },
      // 更新人时间
      updateTime: ''
    };
    super(Fields);
  }

  get id () {
    return this._id;
  }

  set id (val) {
    this._id = val;
  }

  get title () {
    return this._title;
  }

  set title (val) {
    this._title = val;
  }

  get urlPath () {
    return this._urlPath;
  }

  set urlPath (val) {
    this._urlPath = val;
  }

  get size () {
    return this._size;
  }

  set size (val) {
    this._size = val;
  }

  get pcExtension () {
    return this._pcExtension;
  }

  set pcExtension (val) {
    this._pcExtension = val;
  }

  get mobileExtension () {
    return this._mobileExtension;
  }

  set mobileExtension (val) {
    this._mobileExtension = val;
  }

  get repository () {
    return this._repository;
  }

  set repository (val) {
    this._repository = val;
  }

  get format () {
    return this._format;
  }

  set format (val) {
    this._format = val;
  }

  get resDescribe () {
    return this._resDescribe;
  }

  set resDescribe (val) {
    this._resDescribe = val;
  }

  get createId () {
    return this._createId;
  }

  set createId (val) {
    this._createId = val;
  }

  get createTime () {
    return this._createTime;
  }

  set createTime (val) {
    this._createTime = val;
  }

  get createName () {
    return this._createName;
  }

  set createName (val) {
    this._createName = val;
  }

  get formatIconUrl () {
    return this._formatIconUrl;
  }

  set formatIconUrl (val) {
    this._formatIconUrl = val;
  }

  get tags () {
    return this._tags;
  }

  set tags (val) {
    this._tags = val;
  }

  get newOnline () {
    return this._newOnline;
  }

  set newOnline (val) {
    this._newOnline = val;
  }

  get hot () {
    return this._hot;
  }

  set hot (val) {
    this._hot = val;
  }

  get initHotNum () {
    return this._initHotNum;
  }

  set initHotNum (val) {
    this._initHotNum = val;
  }

  get totalHotNum () {
    return this._totalHotNum;
  }

  set totalHotNum (val) {
    this._totalHotNum = val;
  }

  get providerId () {
    return this._providerId;
  }

  set providerId (val) {
    this._providerId = val;
  }

  get providerName () {
    return this._providerName;
  }

  set providerName (val) {
    this._providerName = val;
  }

  get regionId () {
    return this._regionId;
  }

  set regionId (val) {
    this._regionId = val;
  }

  get tagValues () {
    return this._tagValues;
  }

  set tagValues (val) {
    this._tagValues = val;
  }

  get updateTime () {
    return this._updateTime;
  }

  set updateTime (val) {
    this._updateTime = val;
  }
}
export default class CourseData extends YJTObject {
  constructor () {
    const Fields = {
      data: {
        type: Array,
        generics: contentData
      }
    };
    super(Fields);
  }

  get data () {
    return this._data;
  }

  set data (val) {
    this._data = val;
  }
}
